1. Field of the Invention
This invention relates to database query techniques and more specifically to producing hierarchical structures containing data obtained from relational databases.
2. Background of the Invention
Data sets are frequently communicated or delivered in hierarchical data structures. Such hierarchical data structures can be stored in structured documents, such as extensible Markup Language (XML) documents. XML documents, for example, are widely accepted by various processing programs and data exchange systems, wherein the data in the XML document is used directly or transformed into a data structure used by the receiving program or system.
In contrast to the communications and delivery of data, database systems are generally used to store and manipulate data. Relational database systems are a popular type of database system due to the many widely known benefits to storing and manipulating data stored in relational databases. Relational databases are generally maintained by software systems that are referred to as Relational Database Management Systems (RDBMS). RDBMSs are generally able to be distributed among two or more computer nodes that are able to be physically and even geographically separated. An enterprise is also able to distribute data among multiple RDBMSs that are hosted on different computers and retrieval of a complete set of data for a particular request in such enterprises then requires access to the multiple RDBMSs.
A common data manipulation process is the publishing of data out of a database in an XML format. Specifying the processing for retrieving data from a relational database and delivering that data in a hierarchical structure format, such as in an XML document, is frequently a time consuming and error prone process. Such operations typically begin with a definition of the hierarchical data structure to be produced, and an identification of data to be retrieved from one or more RDBMSs is then associated with each node of that hierarchical data structure definition. An often complex and not easily reusable application program or script is then typically developed to directly perform this transformation.
In order to allow more efficient definition of retrieval and publication of data from relational databases into a hierarchical data structure, a more efficient way to specify data retrieval from structured databases and subsequent mapping of the data retrieved into hierarchical data structures from data contained in relational databases is needed.